#pragma once

class my_vector
{
   static const int base = 100000000;
   static const int max_length = 10000;
   static const int length_digit = 8;
   int length;
   union
   {
      long long *digits;
      long long digit;
   };
public:
   my_vector();
   my_vector(long long);
   my_vector(const my_vector&);
   my_vector(const my_vector&, int);

   ~my_vector();

   const long long& operator [] (int) const;
   long long& operator [] (int);
   my_vector& operator = (const my_vector&);

   void swap(my_vector&);
   void set_length(int);
   int get_length() const;
   void push_back(long long p);
   long long pop_back();
   long long back() const;
};